<?php
namespace app\mamx_forum_admin\controller;
use think\facade\Db;
use think\facade\Filesystem;
use think\Controller;

class Advdeal extends \app\BaseController{
	public function advDeal(){
		// 搜索
		$search = input('search');
		if(input('search') != ''){
				$adv =Db::name('adv')
				->where('a_title','like','%'.$search.'%')
				->select();
			return view('',['adv'=>$adv]);	
		}else{
			// 没有搜索
			$adv=Db::name('adv')
				// ->where('a_type',0)
				->select();
			return view('',['adv'=>$adv]);
		};
		return view('',['adv'=>$adv]);
	}
	// 渲染添加广告页面
	public function advAdd(){
		// 检查登录状态
		$this->checkadmin();
		return view();
	}
	// 执行添加广告
	public function advDoAdd(){
		// 检查登录状态
		$this->checkadmin();
		// 获取表单文件对象
		$aImg = request()->file('aimg');
		// 上传图片验证
		try{
			validate([
				// 限制图片大小不能超过100kb,文件格式只能为jpg,jpeg,png,gif
				'file'=>'fileExt:jpg,jpeg,png,gif|image'
			])->check(['file'=>$aImg]);
			// 上传到本地服务器
			$saveImg = Filesystem::disk('public')->putFile('',$aImg);
		}catch(\think\exception\ValidateException $e){
			$returnM = $e->getMessage();
			$this->error($returnM);  #错误提示
			exit();
		}
		// 文件完整路径
		$fileName = app()->getRootPath().'public/static/mamx_forum_admin/upload'.'/' .$saveImg;
		// 判断文件是否存在
		if (!file_exists($fileName)){
			$this->error('图片上传失败，请重试！！','advdeal/advadd');
		}
		// 提取表单参数
		$aTitle = input('atitle');
		$aContent = input('acontent');
		$aPath = input('apath');
		// 上传数据
		$advAdd = [
			'a_title'=>$aTitle,
			'a_content'=>$aContent,
			'a_img'=>$saveImg,
			'a_mid'=>$aPath,
			'a_time'=>date('Y-m-d H:i'),
			'a_check'=>'未审核(点击通过)',
			'a_stop'=>'禁止使用',
			'a_type'=>0
		];
		$re = Db::name('adv')
			->insert($advAdd);
		// 上传
		if($re == 1){
		// 添加成功
			$this->success('广告数据添加成功，需要进行审核才能正常使用','advdeal/advdeal');
		}else{
			$this->error('添加失败','advdeal/advadd');
		}
	}
	// 渲染广告修改页面
	public function advInfo(){
		// 检查登录状态
		$this->checkadmin();
		$adv =db::name('adv')
		       ->where('a_id',input('aid'))
		       ->select();
		return view('',['adv'=>$adv]);
	}
	// 执行修改广告
	public function advInfoModi(){
		// 检查登录状态
		$this->checkadmin();
		//F组 获取表单文件对象
		$aImg = request()->file('aimg');
		// 查询旧图片
		$find = Db::name('adv')
			->where('a_id',input('aid'))
			->value('a_img');
		echo $find;
		// 上传图片验证
		try{
			validate([
				// 限制图片大小不能超过100kb,文件格式只能为jpg,jpeg,png,gif
				'file'=>'fileSize:102400|fileExt:jpg,jpeg,png,gif|image'
			])->check(['file'=>$aImg]);
			// 上传到本地服务器
			$saveImg = Filesystem::disk('public')->putFile('',$aImg);
		}catch(\think\exception\ValidateException $e){
			$returnM = $e->getMessage();
			$this->error($returnM);  #错误提示
			exit();
		}
		// 存储到指定路径
		$fileName = app()->getRootPath().'public/static/mamx_forum_admin/upload'.'/' .$saveImg;
		// 判断文件是否存在
		if (!file_exists($fileName)){
			$this->error('图片上传失败，请重试！！','advdeal/advinfo');
		}
		// 提取表单参数
		$aTitle = input('atitle');
		$aContent = input('acontent');
		$aPath = input('apath');
		// 上传数据
		$advAdd = [
			'a_title'=>$aTitle,
			'a_content'=>$aContent,
			'a_img'=>$saveImg,
			'a_mid'=>$aPath,
			'a_time'=>date('Y-m-d H:i')
		];
		// 广告更新
		$re = Db::name('adv')
			->where('a_id',input('aid'))
			->update($advAdd);
		if ($re == 1){
			// 广告更新成功删除旧图片
			unlink(app()->getRootPath() . 'public/static/mamx_forum_admin/upload'. '/' . $find);
			$this->success('广告数据修改成功','advdeal/advdeal');
		}else{
			// 广告更新失败删除新图片
			unlink(app()->getRootPath() . 'public/static/mamx_forum_admin/upload'. '/' . $saveImg);
			$this->error('广告数据修改失败，请重试！！','advdeal/advinfo');
		}		
	}
	// 执行版块删除
	public function advDel(){
		// 查询旧图片
		$find = Db::name('adv')
			->where('a_id',input('aid'))
			->value('a_img');
		// 执行删除
		$advdel = Db::name('adv')
				->where('a_id',input('aid'))
				->delete();
		if($advdel){
			// 删除图片
			unlink(app()->getRootPath() . 'public/static/mamx_forum_admin/upload'. '/' . $find);
			$this->success('删除广告成功','advdeal/advdeal');
		}else{
			$this->error('删除广告失败','advdeal/advdeal');
		}
	}
	// 执行广告审核
	public function advOk(){
		$advcheck=Db::name('adv')
				->where('a_id',input('aid'))
				->find();
		$check = $advcheck['a_check'];
		if ($check == '未审核(点击通过)') {
			$modi = Db::name('adv')
				->where('a_id',input('aid'))
				->update(['a_check' => '通过审核(点击取消)','checkcolor'=>'black']);
			if ($modi) {
				$this ->success('广告审核通过','advdeal/advdeal');
			} 
		}else{
			$modi=db::name('adv')
			    ->where('a_id',input('aid'))
			    ->update(['a_check' => '未审核(点击通过)','checkcolor'=>'red']);
			if ($modi) {
			    $this ->error('广告审核取消，无法正常显示','advdeal/advdeal');
			} 
		}
	}
	// 广告暂停使用
	public function advStop(){
		$advStop=Db::name('adv')
				->where('a_id',input('aid'))
				->find();
		$stop=$advStop['a_stop'];
		if ($stop=='禁止使用'){
			$modi=db::name('adv')
				    ->where('a_id',input('aid'))
				    ->update(['a_stop'=> '允许','stopcolor'=>'black']);
				            if ($modi) {
				                $this ->success('广告取消暂停，广告正常显示',url("advdeal/advdeal"));
				             } 	
		}else{
				$modi=Db::name('adv')
					->where('a_id',input('aid'))
					->update(['a_stop'=>'禁止使用','stopcolor'=>'red']);
				if ($modi){
					$this ->error('广告暂停使用,无法正常显示',url("advdeal/advdeal"));
				}
			}
	}
	// 轮播图页面
	public function boxDeal(){
		$this->checkadmin();
		// 搜索
		$search = input('search');
		if(input('search') != ''){
				$result = Db::name('carousel')
				->where('c_title','like','%'.$search.'%')
				->select();
			return view('',['result'=>$result]);
		}else{
			// 没有搜索
			$result = Db::name('carousel')
					->select();
			// dump ($result);
			return view('',['result'=>$result]);
		}
		return view('',['result'=>$result]);
	}
	// 添加轮播图
	public function boxAdd(){
		return view();
	}
	// 执行添加轮播图
	public function boxDoAdd(){
		// 检查登录状态
		$this->checkadmin();
		// 获取表单文件对象
		$cImg = request()->file('cimg');
		// 上传图片验证
		try{
			validate([
				// 限制图片大小不能超过100kb,文件格式只能为jpg,jpeg,png,gif
				'file'=>'fileExt:jpg,jpeg,png,gif|image'
			])->check(['file'=>$cImg]);
			// 上传到本地服务器
			$saveImg = Filesystem::disk('public')->putFile('',$cImg);
		}catch(\think\exception\ValidateException $e){
			$returnM = $e->getMessage();
			$this->error($returnM);  #错误提示
			exit();
		}
		// 文件完整路径
		$fileName = app()->getRootPath().'public/static/mamx_forum_admin/upload'.'/' .$saveImg;
		// 判断文件是否存在
		if (!file_exists($fileName)){
			$this->error('图片上传失败，请重试！！','advdeal/boxadd');
		}
		// 提取表单参数
		$cTitle = input('ctitle');
		$cContent = input('ccontent');
		$cmid = input('cmid');
		// 上传数据
		$boxAdd = [
			'c_title'=>$cTitle,
			'c_content'=>$cContent,
			'c_img'=>$saveImg,
			'c_mid'=>$cmid,
			'c_createat'=>date('Y-m-d H:i'),
			'c_disabled'=>'待审核',
			'c_ok'=>'暂停使用',
			'c_type'=>0
		];
		$re = Db::name('carousel')
			->insert($boxAdd);
		// 上传
		if($re == 1){
		// 添加成功
			$this->success('轮播图添加成功，需要进行审核才能正常使用','advdeal/boxdeal');
		}else{
			$this->error('添加失败','advdeal/boxadd');
		}
	}
	// 修改轮播图
	public function boxInfo(){
		// 检查登录状态
		$this->checkadmin();
		$box =db::name('carousel')
		       ->where('c_id',input('cid'))
		       ->select();
		return view('',['box'=>$box]);
	}
	// 执行修改轮播图
	public function boxInfoModi(){
		// 检查登录状态
		$this->checkadmin();
		//F组 获取表单文件对象
		$cImg = request()->file('cimg');
		// 查询旧图片
		$find = Db::name('carousel')
			->where('c_id',input('cid'))
			->value('c_img');
		echo $find;
		// 上传图片验证
		try{
			validate([
				// 限制图片大小不能超过100kb,文件格式只能为jpg,jpeg,png,gif
				'file'=>'fileExt:jpg,jpeg,png,gif|image'
			])->check(['file'=>$cImg]);
			// 上传到本地服务器
			$saveImg = Filesystem::disk('public')->putFile('',$cImg);
		}catch(\think\exception\ValidateException $e){
			$returnM = $e->getMessage();
			$this->error($returnM);  #错误提示
			exit();
		}
		// 存储到指定路径
		$fileName = app()->getRootPath().'public/static/mamx_forum_admin/upload'.'/' .$saveImg;
		// 判断文件是否存在
		if (!file_exists($fileName)){
			$this->error('图片上传失败，请重试！！','advdeal/boxinfo');
		}
		// 提取表单参数
		$cTitle = input('ctitle');
		$cContent = input('ccontent');
		$cmid = input('cmid');
		// 上传数据
		$boxAdd = [
			'c_title'=>$cTitle,
			'c_content'=>$cContent,
			'c_img'=>$saveImg,
			'c_mid'=>$cmid,
			'c_createat'=>date('Y-m-d H:i')
		];
		// 轮播图更新
		$re = Db::name('carousel')
			->where('c_id',input('cid'))
			->update($boxAdd);
		if ($re == 1){
			// 轮播图更新成功删除旧图片
			unlink(app()->getRootPath() . 'public/static/mamx_forum_admin/upload'. '/' . $find);
			$this->success('轮播图数据修改成功','advdeal/boxdeal');
		}else{
			// 轮播图更新失败删除新图片
			unlink(app()->getRootPath() . 'public/static/mamx_forum_admin/upload'. '/' . $saveImg);
			$this->error('轮播图数据修改失败，请重试！！','advdeal/boxinfo');
		}		
	}
	// 执行轮播图审核
	public function boxOk(){
		$boxcheck=Db::name('carousel')
				->where('c_id',input('cid'))
				->find();
		$disable = $boxcheck['c_disabled'];
		if ($disable == '待审核') {
			$modi = Db::name('carousel')
				->where('c_id',input('cid'))
				->update(['c_disabled' => '审核通过','disablecolor'=>'black']);
			if ($modi) {
				$this ->success('轮播图审核通过','advdeal/boxdeal');
			} 
		}else{
			$modi=db::name('carousel')
			    ->where('c_id',input('cid'))
			    ->update(['c_disabled' => '待审核','disablecolor'=>'red']);
			if ($modi) {
			    $this ->error('轮播图审核取消，无法正常显示','advdeal/boxdeal');
			} 
		}
	}
	// 轮播图暂停使用
	public function boxBan(){
		$boxStop=Db::name('carousel')
				->where('c_id',input('cid'))
				->find();
		$stop=$boxStop['c_ok'];
		if ($stop=='暂停使用'){
			$modi=db::name('carousel')
				    ->where('c_id',input('cid'))
				    ->update(['c_ok'=> '已使用','okcolor'=>'black']);
				            if ($modi) {
				                $this ->success('轮播图正在使用，轮播正常显示',url("advdeal/boxdeal"));
				             } 	
		}else{
				$modi=Db::name('carousel')
					->where('c_id',input('cid'))
					->update(['c_ok'=>'暂停使用','okcolor'=>'red']);
				if ($modi){
					$this ->error('轮播图暂停使用,无法正常显示',url("advdeal/boxdeal"));
				}
			}
	}
	// 轮播图删除
	public function boxDel(){
		// 查询旧图片
		$find = Db::name('carousel')
			->where('c_id',input('cid'))
			->value('c_img');
		// 执行删除
		$boxdel = Db::name('carousel')
				->where('c_id',input('cid'))
				->delete();
		if($boxdel){
			// 删除图片
			unlink(app()->getRootPath() . 'public/static/mamx_forum_admin/upload'. '/' . $find);
			$this->success('删除轮播图成功','advdeal/boxdeal');
		}else{
			$this->error('删除轮播图失败','advdeal/boxdeal');
		}
	}
}